﻿<UserControl x:Class="Apex.Controls.CircularProgressBar"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    IsVisibleChanged="HandleVisibleChanged"
    xmlns:apexConverters="clr-namespace:Apex.Converters"
             x:Name="circularProgressBar"
    Height="120" Width="120" Background="Transparent" Loaded="UserControl_Loaded">
    <UserControl.Resources>
        <apexConverters:StringNullOrEmptyToVisibilityConverter x:Key="StringNullOrEmptyToVisibilityConverter" />
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="Transparent"
          ToolTip="{Binding ProgressText, ElementName=circularProgressBar}"
          HorizontalAlignment="Center"
          VerticalAlignment="Center">
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <Viewbox Grid.Row="0">
            <Canvas RenderTransformOrigin="0.5,0.5"
                    HorizontalAlignment="Center"
                 VerticalAlignment="Center" Width="120"
                 Height="120" Loaded="HandleLoaded"
                    Unloaded="HandleUnloaded"  >
                <Ellipse x:Name="C0" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="1.0"/>
                <Ellipse x:Name="C1" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.9"/>
                <Ellipse x:Name="C2" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.8"/>
                <Ellipse x:Name="C3" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.7"/>
                <Ellipse x:Name="C4" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.6"/>
                <Ellipse x:Name="C5" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.5"/>
                <Ellipse x:Name="C6" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.4"/>
                <Ellipse x:Name="C7" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.3"/>
                <Ellipse x:Name="C8" Width="20" Height="20"
                         Canvas.Left="0"
                         Canvas.Top="0" Stretch="Fill"
                         Fill="#FFE98101" Opacity="0.2"/>
                <Canvas.RenderTransform>
                    <RotateTransform x:Name="SpinnerRotate"
                         Angle="0" />
                </Canvas.RenderTransform>
            </Canvas>
        </Viewbox>
        <TextBlock Grid.Row="1" Text="{Binding ProgressText, ElementName=circularProgressBar}" 
                   Foreground="#FFE98101"
                   Visibility="{Binding ProgressText, ElementName=circularProgressBar, Converter={StaticResource StringNullOrEmptyToVisibilityConverter}}" />
    </Grid>
</UserControl>
